using System;
using System.Collections.Generic;
using MediatR;

namespace Agriculture.Api.Read.Application.Command
{
    /// <summary>
    /// 物流跟踪查询命令
    /// </summary>
    public class LogisticsTrackingQuery : IRequest<LogisticsTrackingResult>
    {
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNo { get; set; }
    }

    /// <summary>
    /// 物流跟踪查询结果
    /// </summary>
    public class LogisticsTrackingResult
    {
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 物流公司
        /// </summary>
        public string LogisticsCompany { get; set; }

        /// <summary>
        /// 物流单号
        /// </summary>
        public string TrackingNumber { get; set; }

        /// <summary>
        /// 收货人
        /// </summary>
        public string Receiver { get; set; }

        /// <summary>
        /// 收货地址
        /// </summary>
        public string ReceiveAddress { get; set; }

        /// <summary>
        /// 物流跟踪记录
        /// </summary>
        public List<LogisticsTrackingItem> TrackingItems { get; set; } = new List<LogisticsTrackingItem>();
    }

    /// <summary>
    /// 物流跟踪记录项
    /// </summary>
    public class LogisticsTrackingItem
    {
        /// <summary>
        /// 时间
        /// </summary>
        public DateTime Time { get; set; }

        /// <summary>
        /// 地点
        /// </summary>
        public string Location { get; set; }

        /// <summary>
        /// 详情
        /// </summary>
        public string Detail { get; set; }
    }
} 